1
凍結を超えて:非同期処理の必要性
AI020Lesson 9
00:00

Webアプリケーション開発における根本的なボトルネックは、 同期実行 I/O操作の同期実行にある。スクリプトが同期リクエストを行うと、ブラウザのメインスレッドがネットワークの固有の遅延に束縛され、『世界停止』状態が発生する。

1. ブロッキング問題

同期リクエスト( false フラグを使用して XMLHttpRequest.open)はブラウザのスレッドを乗っ取る。これにより、サーバーからの応答までユーザー操作、アニメーション、レンダリングすべてが中断される。ユーザにとってはタブが凍結しているように見える。

UI操作凍結応答

2. ロジックの分岐

"凍結を超える"には、線形モデルから 非同期スタイルへの移行が必要となる。同期プログラミングは厳密な上から下への順序に従う一方、非同期処理は イベントハンドラ データ到着を検知するための仕組みに依存しており、スクリプトが即座に実行を継続できるようになる。

3. UI応答性の必須要件

現代のプロジェクト要件では、文書のUIを凍結させずにファイル読み込みやデータ取得を処理することが求められる。これにより、複雑なリモート操作中でもカーソルが活性化され、ボタンがクリック可能であることが保証される。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>